Dera Adugna

Dera Adugna

Senior Backend Developer

Posted on February 15, 2023

Breaking into Freelance

Navigating the Complex Job Market

The Right Company To Work For You

In a recent Codenight event that took place on January 29, members of the tech community gathered to share insights and experiences on various topics related to building a successful career in the tech industry. Through engaging discussions and constructive dialogues, the community explored different themes and shared valuable lessons learned. This blog compiles some of the key takeaways from the event, focusing on the topics of building a strong portfolio, investing in oneself, leveraging Github and Open Source, the value of internships, and the benefits of bootcamps. Whether you are a student, a junior developer, or a freelancer, the following insights are intended to help you navigate your tech career journey with more clarity and confidence.

Data Structure and Algorithms

Having a strong foundation in data structures and algorithms is crucial for success in the rapidly changing technology industry. According to insights shared during the discussion, it is recommended to focus on learning competitive programming and reading books instead of relying on frameworks to build these essential skills. The principles of data structures and algorithms remain constant, and serve as the building blocks for a successful career in technology. Mastering these fundamental skills will lead to greater financial freedom and success as an entry-level developer.

During the same discussion, another member highlighted the importance of having a comprehensive understanding of DSA in order to succeed as an engineer. By mastering the fundamentals of DSA, developers can gain a deeper understanding of the underlying concepts behind software development. This will better equip them to tackle complex problems and create innovative solutions. Whether you are just starting out in your career or looking to take your skills to the next level, prioritizing the study of DSA is a smart move that can pay off in the long run.

Navigating Freelance

Building a personal brand and networking through LinkedIn can be important strategies, along with starting with lower prices to gain experience. Communication skills, particularly English language proficiency, can also be essential in confidently interacting with potential clients and employers. Additionally, sharing work and ideas on social networks can be a great way to get noticed by important employers. To succeed as a freelancer, it’s also important to explore different avenues within the industry and maintain a positive attitude while navigating the complicated interview process, company policies, and employers. With patience, experimentation, and persistence, you can find success and fulfillment in their freelance careers.

Strong Portfolio

Having a strong portfolio is essential for any software developer looking to break into the industry. Portfolio projects can demonstrate technical skills and knowledge and should be relevant to the type of work one hopes to do. Additionally, internships can be a reliable source of experience, providing opportunities to gain experience, network with professionals, and learn new skills.

When writing a resume, it’s important to emphasize contributions to a company and quantify impact. Employers want to see how you have contributed to previous projects, and this can help you stand out from other candidates. Getting employers to write a good recommendation can also be beneficial and can be included in a portfolio. Some recommend reviewing other people’s resumes and portfolios to find patterns that can be incorporated into your own work, as well as ensuring that your resume is compatible with automated screening systems. With these tips, young software developers can build a strong portfolio and stand out in the competitive industry.

Investing in Yourself

Investing in oneself is crucial for building a thriving career in the dynamic tech industry. Allocating financial resources and time towards the acquisition of new skills through courses and various services can bolster one’s competencies over time. Having a disposable income to cater for costs that optimize workflow and facilitate staying up-to-date with emerging trends is essential. This includes services such as different integrated development environments (IDEs), Copilot, and paid courses that help to enhance one’s skill set and save time.

By prioritizing diversification of skills, one can stay competitive and maintain a cutting edge in the ever-evolving tech industry. Learning new skills every month, while having an in-depth understanding of multiple subjects in one’s field is highlighted as essential for growth. As opposed to specializing in one area of expertise, a generalist approach can prove valuable. In essence, diversifying one’s skill set offers the flexibility to adapt to the changes and challenges that arise within the industry. Hence, investing in oneself by expanding one’s knowledge base and broadening one’s skill set is crucial to ensuring long-term success in the tech industry.

Github

The freelance community is well aware that GitHub is much more than just a repository for the internet. It serves as a valuable resource for knowledge and networking, enabling developers to showcase their technical skills and collaborate on projects with other contributors from around the world. In fact, employers often rely on GitHub as a key tool to evaluate the skills and expertise of potential hires. By ensuring that your projects are presented in the best possible light on this platform, you can significantly increase your chances of success in the highly competitive freelance market.

Open source is also a vital aspect of GitHub that cannot be overlooked. Some experts even view it as a form of internship, as popular projects can help to elevate your professional standing and increase your value to potential clients. Additionally, open source provides an excellent platform for building international networks, as contributors can come from a wide range of geographic locations. Engaging with others from different countries and backgrounds can lead to significant knowledge-sharing opportunities, making it an essential aspect of any freelancer’s toolkit.

Internship

Internship is often considered the best kind of education for some software engineers, better than most universities. With mentorship, networking opportunities, challenging projects, and a sense of direction, internships provide a comprehensive learning experience that is difficult to match.

Internships also test your will and commitment, which is essential in the freelance industry. Furthermore, internships increase the chances of getting hired by a company, as most businesses prefer to hire individuals who have already completed internships with them. Despite the numerous advantages of internships, it is essential to research companies beforehand to avoid exploitation, as some firms may use them to exploit their employees. Overall, internships offer a valuable learning experience and provide a stepping stone for freelancers looking to enter the competitive world of software development.

Bootcamps

When it comes to the world of software engineering, the need for reliable and comprehensive training is of utmost importance. This is where bootcamps come in — when done properly, they can provide a reliable source of knowledge and hands-on training, allowing aspiring freelancers to acquire the skills and knowledge necessary to excel in the ever-evolving tech industry.

Bootcamps are often well-experienced with the industry and can provide well-researched course materials that have been designed to yield great results. Additionally, successful completion of a bootcamp can even lead to immediate employment opportunities, eliminating the need for job hunting elsewhere. A prime example of such bootcamps is Gebeya, which was discussed in the dialogue as having a team of experienced teachers and a plethora of reliable resources in Ethiopia, making it a great choice for freelancers looking to enhance their skills and thrive in the competitive world of tech freelancing.


In conclusion, The importance of gaining market knowledge, building a strong portfolio, improving communication skills, and establishing a strong personal brand through active networking. With these tips in mind, freelancers can navigate the industry with confidence and secure high-paying jobs in the field. I would like to express my sincere gratitude to the members of Codenight who generously shared their experiences and insights into the software development industry. Through their personal and professional experiences, we have learned about the importance of investing in oneself, building a strong portfolio, utilizing Github for networking and knowledge sharing, and the benefits and challenges of internships and bootcamps.

Here’s the list of contributors for this article: